n = int(input().strip())
s = list(map(int, input().strip().split()))
stack = []
max_lucky = 0
for i in range(n):
while stack and stack[-1] < s[i]:
max_lucky = max(max_lucky, stack[-1] ^ s[i])
stack.pop()
if stack:
max_lucky = max(max_lucky, stack[-1] ^ s[i])
stack.append(s[i])
print(max_lucky)
#include<bits/stdc++.h>
using namespace std;
int n;
int a[1000010];
stack<int> st;
int ans=-1;
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
for(int i=1;i<=n;i++)
{
while(st.size()) {
ans=max(ans,a[i]^st.top());
if(a[i]<=st.top())break;
st.pop();
}
st.push(a[i]);
// if(st.size()>=2)
// {
// int t1=st.top();
// st.pop();
// int t2=st.top();
// ans=max(ans,t1^t2);
// cout<<ans<<" ";
// st.push(t1);
// }
}
cout<<ans<<endl;
return 0;
}
302A - Eugeny and Array | 1638B - Odd Swap Sort |
1370C - Number Game | 1206B - Make Product Equal One |
131A - cAPS lOCK | 1635A - Min Or Sum |
474A - Keyboard | 1343A - Candies |
1343C - Alternating Subsequence | 1325A - EhAb AnD gCd |
746A - Compote | 318A - Even Odds |
550B - Preparing Olympiad | 939B - Hamster Farm |
732A - Buy a Shovel | 1220C - Substring Game in the Lesson |
452A - Eevee | 1647B - Madoka and the Elegant Gift |
1408A - Circle Coloring | 766B - Mahmoud and a Triangle |
1618C - Paint the Array | 469A - I Wanna Be the Guy |
1294A - Collecting Coins | 1227A - Math Problem |
349A - Cinema Line | 47A - Triangular numbers |
1516B - AGAGA XOOORRR | 1515A - Phoenix and Gold |
1515B - Phoenix and Puzzle | 155A - I_love_username |